package com.bmft.list_view10;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.bmft.R;
import com.bumptech.glide.Glide;

public class MyListAdapter extends BaseAdapter {
    /**
     * context
     */
    private Context mContext;
    /**
     * layout接口，这是个啥.
     * inflate 填充，inflater填充器。
     */
    private LayoutInflater mLayoutInflater;
    /**
     * 这是列表的数量
     */
    private int itemsCount;

    public MyListAdapter(Context mContext,int itemsCount) {
        this.mContext = mContext;
        this.itemsCount = itemsCount;
        this.mLayoutInflater = LayoutInflater.from(mContext);
    }

    @Override
    public int getCount() {
        return itemsCount;
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    /**
     * 这里使用一个静态内部类来定义这个布局.
     */
    static class LayoutListItemHolder
    {
        public ImageView imageView;
        public TextView tvTitle, tvTime, tvContent;
    }

    /**
     * getView 返回视图，我们在这里定义视图 ，十分的重要.
     * 传进来一个值 view ,我们通过 layout_list_item 给这个view赋值（覆盖后）再返回回去.
     */
    @Override
    public View getView(int position, View view, ViewGroup parent) {
        LayoutListItemHolder holder = null;
        if (view == null) {
            //inflate 填充，inflate填充. 将我们建立的layout_list_item 填充到这个里面.
            view = mLayoutInflater.inflate(R.layout.layout_list_item,null);
            holder = new LayoutListItemHolder();
            //将这个holder放到view中.
            holder.imageView = view.findViewById(R.id.iv);
            holder.tvTitle = view.findViewById(R.id.tv_title);
            holder.tvTime = view.findViewById(R.id.tv_time);
            holder.tvContent = view.findViewById(R.id.tv_content);
            //view 设置 tag为holder.
            view.setTag(holder);
        }
        holder = (LayoutListItemHolder) view.getTag();
        holder.tvTitle.setText("安卓应用开发");
        holder.tvTime.setText("2088");
        holder.tvContent.setText("content 沉默的大多数");
        String imageUrl = "https://pic.taifua.com/me/material-1.png";
        //使用第三方组件 Glide 加载网络图片.
        Glide
                .with(mContext)
                .load(imageUrl)
                .into(holder.imageView);
        return view;
    }
}
